home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Periodicals / develop / develop 5 code / Lisp Mini-App / About Mini-App next >
Encoding:
Text File  |  1992-04-08  |  7.2 KB  |  179 lines  |  [TEXT/CCL2]

  1. Ruben Kleiman's Mini-Application
  2.  
  3. About Mini-App
  4. ==============
  5.  
  6. Last edit 3/12/92 slm.
  7.  
  8.  
  9. Mini-Application for MCL2.
  10.  
  11.    Mini-Application is an MCL2 example program developed by Ruben 
  12.    Kleiman. Source and the tutorial documentation are in the 
  13.    "Mini-Application" folder that also contains this file.
  14.    Ruben wrote them to accompany his landmark article
  15.    "The Power of Macintosh Common Lisp".
  16.  
  17.    Mini-Application is Copyright 1990, 1991 by Ruben Kleiman for 
  18.    Apple Computer, Inc.
  19.  
  20.  
  21. On-disk documentation.
  22.  
  23.    File "All about the Mini-App" has not been changed, and is still
  24.    current. It is provided in MacWrite, Word and Text formats, and
  25.    contains  "All About the MiniLisp Application", an article that
  26.    takes you step by step through the development of the Mini-
  27.    Application. (Note: for "MACL" read "MCL" throughout.)
  28.  
  29.    The "Power of MCL" article is also still current, and can be 
  30.    found on recent Developer CD ROMs in the "develop Issue 5" stack.    
  31.    
  32.    File "READ ME FIRST" (which was provided in MacWrite and Word
  33.    formats), has been superseded by the file you are reading, and
  34.    the file "Instructions".
  35.  
  36.  
  37. Mini-Application conversion to MCL2.
  38.  
  39.    Mini-Application was updated to MCL 2.0 final by Steven L Mitchell
  40.    during 1Q92, with permission. This version requires MCL 2.0 final,
  41.    and will NOT run under MCL 2.0b1.
  42.    Bug reports and comments can be sent to me at STEVE.M on AppleLink,
  43.    <STEVE.M@applelink.apple.com>, but neither I nor anyone else
  44.    promises to do anything about them.
  45.  
  46.    Disclaimer: The enclosed source is released unsupported, has undergone 
  47.                limited testing in MCL 2.0, and will not work in any other
  48.                version of MCL. In particular it will not work in MCL 2.0b1.
  49.  
  50.    The documentation/articles have NOT been converted, and are still current.
  51.  
  52.  
  53. Original publication.
  54.  
  55.    The article was published in "develop", Vol 2, Issue 1, Winter 1991.
  56.    The original Mini-Application source was included on a CD ROM.
  57.  
  58.    That issue is also available on Developer CDs as "develop Issue 5",
  59.    and the code is in the "develop 5 code" folder. 
  60.  
  61.    Note:  The original source was developed in MCL 2.0a2p4 and will
  62.           not work in any released version of MCL.
  63.  
  64.  
  65. Mini-Application is a Tutorial.
  66.  
  67.    The Mini-Application is a Tutorial on writing an MCL2 application.
  68.    It is not a tutorial on CLOS. As an exercise you could do the following:
  69.       - replace all references to slot-value by defining accessor methods
  70.       - use copy-instance to "clone" draw-items in clone-draw-item in
  71.         draw-item-class.lisp
  72.       - drop the 'tool slot from draw-item and recognise instances of the
  73.         icon-draw-item subclass by their class. Then instead of testing 
  74.         the value of the 'tool slot in maybe-drag in draw-item-class.lisp, 
  75.         define a method for icon-draw-items.
  76.    It is not an example of scriptED systems. As with HyperCard you have
  77.       to write the scripts yourself! See "All about the Mini-App" for
  78.       info on the 7 types of handlers.
  79.  
  80.  
  81. Further reading.
  82.  
  83.    In addition to the biblio at the end of the develop article, see:
  84.  
  85. 1. C++/MacApp 3.0 article, Apple Direct Vol 1, No 5, February 1992.
  86.  
  87. 2. The CL book of the decade is: "Paradigms of AI Programming: Case 
  88.    Studies in CL" by Peter Norvig, Morgan Kaufman, San Mateo, CA,
  89.    1992, $39.95.
  90.  
  91.  
  92. Running the Mini-Application.
  93.  
  94.    To try out the Mini-Application, copy the Mini-Application folder
  95.    into your MCL folder, (make sure it is named "Mini-Application"),
  96.    then evaluate:
  97.  
  98.          (load "ccl:Mini-Application;build-and-run-mini-app.lisp")
  99.  
  100.    See file "Instructions" for details.
  101.  
  102.  
  103. File changes since the version published in develop.
  104.  
  105.    File             has been replaced by        File(s)
  106.    ----                                         -------
  107.  
  108.    READ ME FIRST.mw                             About Mini-App
  109.                                                 Instructions
  110.                                                 Where to buy MCL
  111.  
  112.    READ ME FIRST.word                           About Mini-App
  113.                                                 Instructions
  114.                                                 Where to buy MCL
  115.      
  116.    Read Me First.lisp                           build-and-run-mini-app.lisp
  117.    (also known as example.lisp)                 mini-app-example.lisp
  118.                                                 start-application.lisp
  119.                                                 Instructions
  120.  
  121.    example.lisp                                 build-and-run-mini-app.lisp
  122.                                                 mini-app-example.lisp
  123.                                                 start-application.lisp
  124.                                                 Instructions
  125.  
  126.    mini-application-loader.lisp                 build-and-run-mini-app.lisp
  127.                                                 start-application.lisp
  128.  
  129.    compile-mini-application.lisp                build-and-run-mini-app.lisp
  130.  
  131.  
  132.  
  133.    Files that have not been replaced    Changes
  134.    ---------------------------------    -------
  135.  
  136.    All about the Mini-App.mw            None
  137.  
  138.    All about the Mini-App.word          None
  139.  
  140.    All about the Mini-App.text          New. Text version of files above with miniscule
  141.                                         corrections. It lacks the figures, but cross-
  142.                                         references to them in the develop article.
  143.  
  144.    globals.lisp                         Located in the "Program" subfolder.
  145.  
  146.    utilities.lisp                       Located in the "Program" subfolder.
  147.  
  148.    draw-dialog-class.lisp               Located in the "Program" subfolder.
  149.                                         Since Ruben wrote this file, a number of new
  150.                                         event handlers have been introduced, such as: 
  151.                                         view-mouse-enter-event-handler. Actually, only
  152.                                         the protocols have been defined in MCL2, in the
  153.                                         form of generic functions without methods (or
  154.                                         with null default methods). The tutorial shows
  155.                                         where these gfs are invoked during event
  156.                                         processing. The reader can change the program by
  157.                                         defining such methods and see how that would
  158.                                         simplify a more complex program, by reducing
  159.                                         the burden on the window-null-event-handler, in
  160.                                         particular.
  161.  
  162.    menus.lisp                           Located in the "Program" subfolder.
  163.  
  164.    palette-class.lisp                   Located in the "Program" subfolder.
  165.  
  166.    draw-item-class.lisp                 Located in the "Program" subfolder.
  167.  
  168.    default-handlers.lisp                Located in the "Program" subfolder.
  169.  
  170.    resources                            Located in the "Program" subfolder.
  171.                                         Added B&W versions of the icons so B&W Macs
  172.                                         no longer crash!
  173.  
  174.    Program .fasl files                  Located in the "Program" subfolder.
  175.  
  176.  
  177. end of file About Mini-App
  178. -----------------------------------------
  179.